[INFO] fetching crate lockchain-core 0.9.0...
[INFO] building lockchain-core-0.9.0 against master#ff34b919075f35a1787659e9c448a34b06bab8de for issue-85264
[INFO] extracting crate lockchain-core 0.9.0 into /workspace/builds/worker-2/source
[INFO] validating manifest of crates.io crate lockchain-core 0.9.0 on toolchain ff34b919075f35a1787659e9c448a34b06bab8de
[INFO] running `Command { std: "/workspace/cargo-home/bin/cargo" "+ff34b919075f35a1787659e9c448a34b06bab8de" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] started tweaking crates.io crate lockchain-core 0.9.0
[INFO] finished tweaking crates.io crate lockchain-core 0.9.0
[INFO] tweaked toml for crates.io crate lockchain-core 0.9.0 written to /workspace/builds/worker-2/source/Cargo.toml
[INFO] running `Command { std: "/workspace/cargo-home/bin/cargo" "+ff34b919075f35a1787659e9c448a34b06bab8de" "generate-lockfile" "--manifest-path" "Cargo.toml" "-Zno-index-update", kill_on_drop: false }`
[INFO] running `Command { std: "/workspace/cargo-home/bin/cargo" "+ff34b919075f35a1787659e9c448a34b06bab8de" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]     Blocking waiting for file lock on package cache
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:20528e8c29e4536546f0102ce88568b16ea7538393a33fcca951030f7af10457" "/opt/rustwide/cargo-home/bin/cargo" "+ff34b919075f35a1787659e9c448a34b06bab8de" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stderr] WARNING: Your kernel does not support swap limit capabilities or the cgroup is not mounted. Memory limited without swap.
[INFO] [stdout] 7bf6f61abea9c00a335c8b87b10e22e2e28b3668ee490c5fa1b739956af7b28d
[INFO] running `Command { std: "docker" "start" "-a" "7bf6f61abea9c00a335c8b87b10e22e2e28b3668ee490c5fa1b739956af7b28d", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "7bf6f61abea9c00a335c8b87b10e22e2e28b3668ee490c5fa1b739956af7b28d", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "7bf6f61abea9c00a335c8b87b10e22e2e28b3668ee490c5fa1b739956af7b28d", kill_on_drop: false }`
[INFO] [stdout] 7bf6f61abea9c00a335c8b87b10e22e2e28b3668ee490c5fa1b739956af7b28d
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:20528e8c29e4536546f0102ce88568b16ea7538393a33fcca951030f7af10457" "/opt/rustwide/cargo-home/bin/cargo" "+ff34b919075f35a1787659e9c448a34b06bab8de" "build" "--frozen" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] a40a08fc123476a73a7173b070d6c650e9c28068d7e944770cfcb9108d37e0bc
[INFO] [stderr] WARNING: Your kernel does not support swap limit capabilities or the cgroup is not mounted. Memory limited without swap.
[INFO] running `Command { std: "docker" "start" "-a" "a40a08fc123476a73a7173b070d6c650e9c28068d7e944770cfcb9108d37e0bc", kill_on_drop: false }`
[INFO] [stderr]    Compiling byte-tools v0.2.0
[INFO] [stderr]    Compiling syn v1.0.72
[INFO] [stderr]    Compiling pam-sys v0.5.6
[INFO] [stderr]    Compiling nix v0.11.1
[INFO] [stderr]    Compiling cfg-if v0.1.10
[INFO] [stderr]    Compiling safemem v0.2.0
[INFO] [stderr]    Compiling base64 v0.10.1
[INFO] [stderr]    Compiling rand_xorshift v0.1.1
[INFO] [stderr]    Compiling rand_hc v0.1.0
[INFO] [stderr]    Compiling rand_isaac v0.1.1
[INFO] [stderr]    Compiling generic-array v0.9.1
[INFO] [stderr]    Compiling rand v0.5.6
[INFO] [stderr]    Compiling rand_os v0.1.3
[INFO] [stderr]    Compiling users v0.5.3
[INFO] [stderr]    Compiling rand v0.4.6
[INFO] [stderr]    Compiling rand_chacha v0.1.1
[INFO] [stderr]    Compiling serde_json v1.0.64
[INFO] [stderr]    Compiling base64 v0.8.0
[INFO] [stderr]    Compiling blowfish v0.4.0
[INFO] [stderr]    Compiling chrono v0.4.19
[INFO] [stderr]    Compiling block-buffer v0.3.3
[INFO] [stderr]    Compiling rand v0.6.5
[INFO] [stderr]    Compiling digest v0.7.6
[INFO] [stderr]    Compiling crypto-mac v0.6.2
[INFO] [stderr]    Compiling crypto-mac v0.5.2
[INFO] [stderr]    Compiling sha2 v0.7.1
[INFO] [stderr]    Compiling hmac v0.6.3
[INFO] [stderr]    Compiling blake2 v0.7.1
[INFO] [stderr]    Compiling pam-auth v0.5.5
[INFO] [stderr]    Compiling pbkdf2 v0.2.3
[INFO] [stderr]    Compiling bcrypt v0.2.2
[INFO] [stderr]    Compiling serde_derive v1.0.126
[INFO] [stderr]    Compiling keybob v0.3.1
[INFO] [stderr]    Compiling lockchain-core v0.9.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/traits.rs:82:45
[INFO] [stdout]    |
[INFO] [stdout] 82 |     fn load(path: &str) -> Result<Self, Box<Error>> {
[INFO] [stdout]    |                                             ^^^^^ help: use `dyn`: `dyn Error`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(bare_trait_objects)]` on by default
[INFO] [stdout]    = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in the 2021 edition!
[INFO] [stdout]    = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/traits.rs:90:50
[INFO] [stdout]    |
[INFO] [stdout] 90 |     fn save(&self, path: &str) -> Result<(), Box<Error>> {
[INFO] [stdout]    |                                                  ^^^^^ help: use `dyn`: `dyn Error`
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in the 2021 edition!
[INFO] [stdout]    = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated associated function `std::error::Error::description`: use the Display impl or to_string()
[INFO] [stdout]   --> src/users/auth.rs:50:30
[INFO] [stdout]    |
[INFO] [stdout] 50 |             println!("{}", e.description());
[INFO] [stdout]    |                              ^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(deprecated)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated associated function `std::error::Error::cause`: replaced by Error::source, which can support downcasting
[INFO] [stdout]   --> src/users/auth.rs:51:33
[INFO] [stdout]    |
[INFO] [stdout] 51 |             println!("{:#?}", e.cause());
[INFO] [stdout]    |                                 ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated associated function `std::error::Error::description`: use the Display impl or to_string()
[INFO] [stdout]   --> src/users/auth.rs:59:30
[INFO] [stdout]    |
[INFO] [stdout] 59 |             println!("{}", e.description());
[INFO] [stdout]    |                              ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated associated function `std::error::Error::cause`: replaced by Error::source, which can support downcasting
[INFO] [stdout]   --> src/users/auth.rs:60:33
[INFO] [stdout]    |
[INFO] [stdout] 60 |             println!("{:#?}", e.cause());
[INFO] [stdout]    |                                 ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: panic message is not a string literal
[INFO] [stdout]   --> src/crypto/hashing.rs:12:29
[INFO] [stdout]    |
[INFO] [stdout] 12 |         Err(some) => panic!(some),
[INFO] [stdout]    |                             ^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(non_fmt_panic)]` on by default
[INFO] [stdout]    = note: this is no longer accepted in Rust 2021
[INFO] [stdout] help: add a "{}" format string to Display the message
[INFO] [stdout]    |
[INFO] [stdout] 12 |         Err(some) => panic!("{}", some),
[INFO] [stdout]    |                             ^^^^^
[INFO] [stdout] help: or use std::panic::panic_any instead
[INFO] [stdout]    |
[INFO] [stdout] 12 |         Err(some) => std::panic::panic_any(some),
[INFO] [stdout]    |                      ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: panic message is not a string literal
[INFO] [stdout]   --> src/crypto/hashing.rs:21:26
[INFO] [stdout]    |
[INFO] [stdout] 21 |         Err(e) => panic!(e),
[INFO] [stdout]    |                          ^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this is no longer accepted in Rust 2021
[INFO] [stdout] help: add a "{}" format string to Display the message
[INFO] [stdout]    |
[INFO] [stdout] 21 |         Err(e) => panic!("{}", e),
[INFO] [stdout]    |                          ^^^^^
[INFO] [stdout] help: or use std::panic::panic_any instead
[INFO] [stdout]    |
[INFO] [stdout] 21 |         Err(e) => std::panic::panic_any(e),
[INFO] [stdout]    |                   ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: 8 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished dev [unoptimized + debuginfo] target(s) in 43.27s
[INFO] running `Command { std: "docker" "inspect" "a40a08fc123476a73a7173b070d6c650e9c28068d7e944770cfcb9108d37e0bc", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "a40a08fc123476a73a7173b070d6c650e9c28068d7e944770cfcb9108d37e0bc", kill_on_drop: false }`
[INFO] [stdout] a40a08fc123476a73a7173b070d6c650e9c28068d7e944770cfcb9108d37e0bc
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:20528e8c29e4536546f0102ce88568b16ea7538393a33fcca951030f7af10457" "/opt/rustwide/cargo-home/bin/cargo" "+ff34b919075f35a1787659e9c448a34b06bab8de" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }`
[INFO] [stderr] WARNING: Your kernel does not support swap limit capabilities or the cgroup is not mounted. Memory limited without swap.
[INFO] [stdout] e136c048410e1101b0e8fd4604e4c98c6e850cf89ecc6c9508ee7953a38385ce
[INFO] running `Command { std: "docker" "start" "-a" "e136c048410e1101b0e8fd4604e4c98c6e850cf89ecc6c9508ee7953a38385ce", kill_on_drop: false }`
[INFO] [stderr]    Compiling lockchain-core v0.9.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/traits.rs:82:45
[INFO] [stdout]    |
[INFO] [stdout] 82 |     fn load(path: &str) -> Result<Self, Box<Error>> {
[INFO] [stdout]    |                                             ^^^^^ help: use `dyn`: `dyn Error`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(bare_trait_objects)]` on by default
[INFO] [stdout]    = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in the 2021 edition!
[INFO] [stdout]    = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/traits.rs:90:50
[INFO] [stdout]    |
[INFO] [stdout] 90 |     fn save(&self, path: &str) -> Result<(), Box<Error>> {
[INFO] [stdout]    |                                                  ^^^^^ help: use `dyn`: `dyn Error`
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in the 2021 edition!
[INFO] [stdout]    = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated associated function `std::error::Error::description`: use the Display impl or to_string()
[INFO] [stdout]   --> src/users/auth.rs:50:30
[INFO] [stdout]    |
[INFO] [stdout] 50 |             println!("{}", e.description());
[INFO] [stdout]    |                              ^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(deprecated)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated associated function `std::error::Error::cause`: replaced by Error::source, which can support downcasting
[INFO] [stdout]   --> src/users/auth.rs:51:33
[INFO] [stdout]    |
[INFO] [stdout] 51 |             println!("{:#?}", e.cause());
[INFO] [stdout]    |                                 ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated associated function `std::error::Error::description`: use the Display impl or to_string()
[INFO] [stdout]   --> src/users/auth.rs:59:30
[INFO] [stdout]    |
[INFO] [stdout] 59 |             println!("{}", e.description());
[INFO] [stdout]    |                              ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated associated function `std::error::Error::cause`: replaced by Error::source, which can support downcasting
[INFO] [stdout]   --> src/users/auth.rs:60:33
[INFO] [stdout]    |
[INFO] [stdout] 60 |             println!("{:#?}", e.cause());
[INFO] [stdout]    |                                 ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: panic message is not a string literal
[INFO] [stdout]   --> src/crypto/hashing.rs:12:29
[INFO] [stdout]    |
[INFO] [stdout] 12 |         Err(some) => panic!(some),
[INFO] [stdout]    |                             ^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(non_fmt_panic)]` on by default
[INFO] [stdout]    = note: this is no longer accepted in Rust 2021
[INFO] [stdout] help: add a "{}" format string to Display the message
[INFO] [stdout]    |
[INFO] [stdout] 12 |         Err(some) => panic!("{}", some),
[INFO] [stdout]    |                             ^^^^^
[INFO] [stdout] help: or use std::panic::panic_any instead
[INFO] [stdout]    |
[INFO] [stdout] 12 |         Err(some) => std::panic::panic_any(some),
[INFO] [stdout]    |                      ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: panic message is not a string literal
[INFO] [stdout]   --> src/crypto/hashing.rs:21:26
[INFO] [stdout]    |
[INFO] [stdout] 21 |         Err(e) => panic!(e),
[INFO] [stdout]    |                          ^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this is no longer accepted in Rust 2021
[INFO] [stdout] help: add a "{}" format string to Display the message
[INFO] [stdout]    |
[INFO] [stdout] 21 |         Err(e) => panic!("{}", e),
[INFO] [stdout]    |                          ^^^^^
[INFO] [stdout] help: or use std::panic::panic_any instead
[INFO] [stdout]    |
[INFO] [stdout] 21 |         Err(e) => std::panic::panic_any(e),
[INFO] [stdout]    |                   ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: 8 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Access`, `Role`, `UserStore`
[INFO] [stdout]   --> examples/user_registry.rs:18:30
[INFO] [stdout]    |
[INFO] [stdout] 18 | use lockchain::users::{User, UserStore, Access, Role};
[INFO] [stdout]    |                              ^^^^^^^^^  ^^^^^^  ^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_imports)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `me`
[INFO] [stdout]   --> examples/user_registry.rs:30:9
[INFO] [stdout]    |
[INFO] [stdout] 30 |     let me = User::register(username, password);
[INFO] [stdout]    |         ^^ help: if this is intentional, prefix it with an underscore: `_me`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `vault`
[INFO] [stdout]   --> examples/user_registry.rs:29:38
[INFO] [stdout]    |
[INFO] [stdout] 29 | fn register<V: Vault<EncryptedBody>>(vault: &mut V, username: &str, password: &str) {
[INFO] [stdout]    |                                      ^^^^^ help: if this is intentional, prefix it with an underscore: `_vault`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function is never used: `register`
[INFO] [stdout]   --> examples/user_registry.rs:29:4
[INFO] [stdout]    |
[INFO] [stdout] 29 | fn register<V: Vault<EncryptedBody>>(vault: &mut V, username: &str, password: &str) {
[INFO] [stdout]    |    ^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/traits.rs:82:45
[INFO] [stdout]    |
[INFO] [stdout] 82 |     fn load(path: &str) -> Result<Self, Box<Error>> {
[INFO] [stdout]    |                                             ^^^^^ help: use `dyn`: `dyn Error`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(bare_trait_objects)]` on by default
[INFO] [stdout]    = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in the 2021 edition!
[INFO] [stdout]    = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/traits.rs:90:50
[INFO] [stdout]    |
[INFO] [stdout] 90 |     fn save(&self, path: &str) -> Result<(), Box<Error>> {
[INFO] [stdout]    |                                                  ^^^^^ help: use `dyn`: `dyn Error`
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in the 2021 edition!
[INFO] [stdout]    = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: 4 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated associated function `std::error::Error::description`: use the Display impl or to_string()
[INFO] [stdout]   --> src/users/auth.rs:50:30
[INFO] [stdout]    |
[INFO] [stdout] 50 |             println!("{}", e.description());
[INFO] [stdout]    |                              ^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(deprecated)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated associated function `std::error::Error::cause`: replaced by Error::source, which can support downcasting
[INFO] [stdout]   --> src/users/auth.rs:51:33
[INFO] [stdout]    |
[INFO] [stdout] 51 |             println!("{:#?}", e.cause());
[INFO] [stdout]    |                                 ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated associated function `std::error::Error::description`: use the Display impl or to_string()
[INFO] [stdout]   --> src/users/auth.rs:59:30
[INFO] [stdout]    |
[INFO] [stdout] 59 |             println!("{}", e.description());
[INFO] [stdout]    |                              ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated associated function `std::error::Error::cause`: replaced by Error::source, which can support downcasting
[INFO] [stdout]   --> src/users/auth.rs:60:33
[INFO] [stdout]    |
[INFO] [stdout] 60 |             println!("{:#?}", e.cause());
[INFO] [stdout]    |                                 ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: panic message is not a string literal
[INFO] [stdout]   --> src/crypto/hashing.rs:12:29
[INFO] [stdout]    |
[INFO] [stdout] 12 |         Err(some) => panic!(some),
[INFO] [stdout]    |                             ^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(non_fmt_panic)]` on by default
[INFO] [stdout]    = note: this is no longer accepted in Rust 2021
[INFO] [stdout] help: add a "{}" format string to Display the message
[INFO] [stdout]    |
[INFO] [stdout] 12 |         Err(some) => panic!("{}", some),
[INFO] [stdout]    |                             ^^^^^
[INFO] [stdout] help: or use std::panic::panic_any instead
[INFO] [stdout]    |
[INFO] [stdout] 12 |         Err(some) => std::panic::panic_any(some),
[INFO] [stdout]    |                      ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: panic message is not a string literal
[INFO] [stdout]   --> src/crypto/hashing.rs:21:26
[INFO] [stdout]    |
[INFO] [stdout] 21 |         Err(e) => panic!(e),
[INFO] [stdout]    |                          ^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this is no longer accepted in Rust 2021
[INFO] [stdout] help: add a "{}" format string to Display the message
[INFO] [stdout]    |
[INFO] [stdout] 21 |         Err(e) => panic!("{}", e),
[INFO] [stdout]    |                          ^^^^^
[INFO] [stdout] help: or use std::panic::panic_any instead
[INFO] [stdout]    |
[INFO] [stdout] 21 |         Err(e) => std::panic::panic_any(e),
[INFO] [stdout]    |                   ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: 8 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished test [unoptimized + debuginfo] target(s) in 2.39s
[INFO] running `Command { std: "docker" "inspect" "e136c048410e1101b0e8fd4604e4c98c6e850cf89ecc6c9508ee7953a38385ce", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "e136c048410e1101b0e8fd4604e4c98c6e850cf89ecc6c9508ee7953a38385ce", kill_on_drop: false }`
[INFO] [stdout] e136c048410e1101b0e8fd4604e4c98c6e850cf89ecc6c9508ee7953a38385ce
